home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / src / haeberli / libgutil / getapixel.c < prev    next >
C/C++ Source or Header  |  1994-08-01  |  1KB  |  52 lines

  1. /*
  2.  * Copyright 1991, 1992, 1993, 1994, Silicon Graphics, Inc.
  3.  * All Rights Reserved.
  4.  *
  5.  * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
  6.  * the contents of this file may not be disclosed to third parties, copied or
  7.  * duplicated in any form, in whole or in part, without the prior written
  8.  * permission of Silicon Graphics, Inc.
  9.  *
  10.  * RESTRICTED RIGHTS LEGEND:
  11.  * Use, duplication or disclosure by the Government is subject to restrictions
  12.  * as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
  13.  * and Computer Software clause at DFARS 252.227-7013, and/or in similar or
  14.  * successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
  15.  * rights reserved under the Copyright Laws of the United States.
  16.  */
  17. /* 
  18.  *    getapixel - 
  19.  *        Read a pixel from a specific screen location.
  20.  *
  21.  *                Paul Haeberli - 1985
  22.  */
  23. #include "gl.h"
  24. #include "device.h"
  25.  
  26. getapixel(mousex, mousey)
  27. short mousex, mousey;
  28. {
  29.     unsigned short pixel;
  30.  
  31.     pushviewport();
  32.     pushmatrix();
  33.     screenspace();
  34.     cmov2i(mousex, mousey); 
  35.     readpixels(1,&pixel);
  36.     popmatrix();
  37.     popviewport();
  38.     return(pixel);
  39. }
  40.  
  41. getrgbpix(mousex, mousey, r, g, b)
  42. short mousex, mousey;
  43. int *r, *g ,*b;
  44. {
  45.     unsigned long pix[1];
  46.  
  47.     readdisplay(mousex,mousey,mousex,mousey,pix,0);
  48.     *r = (pix[0]>>0)&0xff;
  49.     *g = (pix[0]>>8)&0xff;
  50.     *b = (pix[0]>>16)&0xff;
  51. }
  52.